1. Field of the Invention
This invention generally relates to database systems for computers and more particularly, to an integrated graphical user interface method and apparatus for mapping between objects and databases.
2. Description of the Related Art
Object-database mapping tools assist in integrating tables in a database with corresponding classes in an object-oriented application. Conventional object-database mapping tools receive class definitions from an object-oriented application and automatically generate code, typically stored in a database schema, to create tables and other structures for the database. The tables and structures in the database are used to hold data corresponding to objects generated by an object-oriented application.
There are numerous challenges to improve the techniques for integrating object-oriented applications and databases using these object-database mapping tools. In particular, these techniques need to account for the different organization of data in an object-oriented application compared with the organization of data in a database.
In an object-oriented application the skeleton of an object is a class. The class may have a number of fields used to store values or parameters typically used by object instances of the class. The class may also include specific methods which define how objects instantiated from each class will interact with each other and hold certain information in each of the corresponding fields. A hierarchical class structure provides an organized framework for creating objects and their relationships.
In contrast, databases have features that object-oriented applications do not possess. The database typically organizes data using one or more tables having multiple rows and columns. A data relationship is defined by the manner in which data is stored in the various rows and columns of the tables. A single table or multiple tables can be used to hold every row or record of data. A primary key includes one or more columns in a table that uniquely identifies each row of data. If multiple tables are used to store a data, a foreign key associates rows of data in one table with another table.
Unfortunately, conventional object-database mapping tools do not provide sophisticated techniques for integrating object-oriented applications and databases. Generally, the user must resort to multiple object-oriented development tools, database tools, and object-database mapping tools to integrate these two disparate systems. The numerous tools required to integrate such systems can be expensive and often will not work together smoothly.
Existing object-database mapping tools also make it difficult for the user to test and refine the integration of object-oriented applications and databases. For example, conventional object-database mapping tools do not allow a user to make a round-trip between a database and an object oriented application. That is, the user can not generate a database from a object-oriented application, modify the database, and then regenerate a portion of the object-oriented application. This prevents a user from quickly testing such an integrated system using various design scenarios. Furthermore, conventional user interfaces for performing such features are not properly designed to support these more sophisticated techniques for integrating object-oriented applications and databases.
Based on the above limitations found in conventional database and object-oriented systems, it is desirable to provide improved tools for integrating objects and databases.